package com.flow.service;

import java.util.List;
import com.flow.model.PagerModel;
import com.flow.model.RolePermission;

/**
 * 角色权限服务接口
 * 
 * @author wang
 * @2016-1-7 IRolePermissionService.java
 * @param <T>
 * 
 */
public interface IRolePermissionService<T> {

	/**
	 * 更新角色权限
	 * @param id
	 * @param checkedStatus
	 * @param rtId
	 * @return
	 */
	public boolean updateRolePermission(RolePermission rolePermission);

	/**
	 * 根据角色Id查询角色权限
	 * @param rtId
	 * @return
	 */
	public List<T> findRolePermissionByRtId(String rtId);

	/**
	 * 根据角色ID获取角色权限列表并分页
	 * @param rtId
	 * @return
	 */
	public PagerModel findRolePermissionByPager(String rtId);

	/**
	 * 根据ID查询
	 * @param rpId
	 * @return
	 */
	public RolePermission findRolePermissionById(String rpId);

	/**
	 * 设置角色增删改差权限
	 * @param rpId
	 * @param rpInsert
	 * @param rpDelete
	 * @param rpUpdate
	 * @param rpFind
	 * @return
	 */
	public boolean setPermissionInfo(String rpId, String rpInsert, String rpDelete, String rpUpdate, String rpFind);
	
	/**
	 * 更新角色权限菜单
	 * @param rtId
	 * @param checkedStatus
	 * @param pmId
	 * @return
	 */
	public boolean setRolePermissionInfo(String rtId, List<Integer> checkedStatus, String pmId);
	
	/**
	 * 根据多个角色ID查询
	 * @param ubIdList
	 * @return List<T>	
	 *
	 */
	public List<T> findRolePermissionByrtIdList(List<Object> rtIdList);

}
